package vip.xiaonuo.smzq.modular.lifecycle.service.module;


import cn.hutool.core.lang.Dict;
import cn.hutool.core.lang.tree.TreeNode;
import cn.hutool.core.util.StrUtil;
import vip.xiaonuo.smzq.modular.lifecycle.base.KqfwCoordinates;
import vip.xiaonuo.smzq.modular.lifecycle.entity.KclCb08Xzqh;
import vip.xiaonuo.smzq.modular.lifecycle.entity.KclKs;
import vip.xiaonuo.smzq.modular.lifecycle.po.QueryAdministractiveRegionPO;
import vip.xiaonuo.smzq.modular.lifecycle.po.QueryMineInfoPO;
import vip.xiaonuo.smzq.modular.lifecycle.po.QueryMineStorePO;
import vip.xiaonuo.smzq.modular.lifecycle.po.QueryYearStorePO;
import vip.xiaonuo.smzq.modular.lifecycle.vo.*;

import java.util.List;

/**
 * <ul>
 * <li>name:  LifeCycleService</li>
 * <li>author name: GEOSCENE_YUYANFEI</li>
 * <li>create time: 2024-03-20 15:39:43</li>
 * </ul>
 */
public interface CommonService {
    /**
     * 拐点坐标对象列表，转拐点坐标字符串
     * @param kqfwCoordinatesList 矿区范围拐点坐标列表
     * @return
     */
    String getCoordinatesStr(List<KqfwCoordinates> kqfwCoordinatesList);

    /**
     * 拐点坐标字符串，转拐点坐标对象列表
     * @param coordinatesStr 拐点坐标列表
     * @return
     */
    List<KqfwCoordinates> getKqfwCoordinates(String coordinatesStr);

    /**
     * 得到面的多个点xy
     * @param coordinatesStr 2000坐标的坐标字符串
     * @return xy的数组列表
     */
    List<List<Double>> getMutiPointXY(String coordinatesStr);

    /**
     * 得到多个点的字符串
     * @param coordinatesStr
     * @return
     */
    String getMutiPointStr(String coordinatesStr);
    /**
     * 得到地上标高和地下标高
     * @param coorStr
     * @return
     */
    Dict getMaxMinGroundHeight(String coorStr);
    /**
     * 得到地上标高和地下标高
     * @param coorStr
     * @return
     */
    List<ThreeDHeightVO> getThreeDHeightVOS(String coorStr);


    /**
     * 检查是否有坐标
     * @param coor 坐标
     * @return
     */
    boolean checkHasCoor(String coor);

    /**
     * 得到范围坐标的对象列表
     * @param coorStr
     * @return
     */
    List<List<KqfwCoordinates>> getKqfwCoorLs(String coorStr);

    /**
     * 得到三维显示对象
     * @param coorStr 三维坐标字符串
     * @return
     */
    List<ThreeWeftCoorVO> getThreeWeftCoorVOS(String coorStr);

    /**
     * 删除文件路径
     * @param filePath 文件路径
     * @return
     */
    boolean delFile(String filePath);
}

